package com.lxmes.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 总账对象 zc_general_ledger
 * 
 * @author lx
 * @date 2023-06-24
 */
@ApiModel(value = "ZcGeneralLedger", description = "总账对象")    
public class ZcGeneralLedger extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增长ID */
    @ApiModelProperty("自增长ID")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String companyName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String companyCode;

    /** 入账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入账日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("入账日期")
    private Date entryDate;

    /** 入账类型 */
    @Excel(name = "入账类型")
    @ApiModelProperty("入账类型")
    private String entryType;

    /** 伙伴类型 */
    @Excel(name = "伙伴类型")
    @ApiModelProperty("伙伴类型")
    private String partnerType;

    /** 伙伴名称 */
    @Excel(name = "伙伴名称")
    @ApiModelProperty("伙伴名称")
    private String partnerName;

    /** 伙伴代码 */
    @Excel(name = "伙伴代码")
    @ApiModelProperty("伙伴代码")
    private String partnerCode;

    /** 记账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记账日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("记账日期")
    private Date accountDate;

    /** 记账金额 */
    @Excel(name = "记账金额")
    @ApiModelProperty("记账金额")
    private BigDecimal amount;

    /** 累计金额 */
    @Excel(name = "累计金额")
    @ApiModelProperty("累计金额")
    private BigDecimal balanceAmount;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCompanyName(String companyName) 
    {
        this.companyName = companyName;
    }

    public String getCompanyName() 
    {
        return companyName;
    }
    public void setCompanyCode(String companyCode) 
    {
        this.companyCode = companyCode;
    }

    public String getCompanyCode() 
    {
        return companyCode;
    }
    public void setEntryDate(Date entryDate) 
    {
        this.entryDate = entryDate;
    }

    public Date getEntryDate() 
    {
        return entryDate;
    }
    public void setEntryType(String entryType) 
    {
        this.entryType = entryType;
    }

    public String getEntryType() 
    {
        return entryType;
    }
    public void setPartnerType(String partnerType) 
    {
        this.partnerType = partnerType;
    }

    public String getPartnerType() 
    {
        return partnerType;
    }
    public void setPartnerName(String partnerName) 
    {
        this.partnerName = partnerName;
    }

    public String getPartnerName() 
    {
        return partnerName;
    }
    public void setPartnerCode(String partnerCode) 
    {
        this.partnerCode = partnerCode;
    }

    public String getPartnerCode() 
    {
        return partnerCode;
    }
    public void setAccountDate(Date accountDate) 
    {
        this.accountDate = accountDate;
    }

    public Date getAccountDate() 
    {
        return accountDate;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setBalanceAmount(BigDecimal balanceAmount) 
    {
        this.balanceAmount = balanceAmount;
    }

    public BigDecimal getBalanceAmount() 
    {
        return balanceAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyName", getCompanyName())
            .append("companyCode", getCompanyCode())
            .append("entryDate", getEntryDate())
            .append("entryType", getEntryType())
            .append("partnerType", getPartnerType())
            .append("partnerName", getPartnerName())
            .append("partnerCode", getPartnerCode())
            .append("accountDate", getAccountDate())
            .append("amount", getAmount())
            .append("balanceAmount", getBalanceAmount())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
